import logging
import allure
import jsonpath
from utils.send_requset import send_jdbc_request


def json_extractor(case, all_1, res):   # 传参   用例  全局变量  请求结果
    if case["jsonExData"]:
        with allure.step("4:json提取"):
            # eval()转为字典
            for key, value in eval(case["jsonExData"]).items():
                value = jsonpath.jsonpath(res.json(), value)[0]
                all_1[key] = value
            logging.info(f'4.JSON提取，根据{case["jsonExData"]}提取数据，此时全局变量为：{all_1}')


def jdbc_extractor(case, all_1):
    if case["sqlExData"]:
        with allure.step("4:jdbc提取"):
            # eval()转为字典
            for key, value in eval(case["sqlExData"]).items():
                # 连接数据库  封装
                value = send_jdbc_request(value)
                all_1[key] = value
            logging.info(f'4.JDBC提取，根据{case["sqlExData"]}提取数据，此时全局变量为：{all_1}')
